package com.ease.util {

   /**
    * Represents an object cache.
    */
   public interface ICache {
      /**
       * Adds the given object to the cache.
       */
      function add(key:Object, value:Object):void;

      /**
       * Returns the cached object associated with the given key, or null if none.
       */
      function getValue(key:Object):*;

      /**
       * Removes the cached object associated with the given key.
       *
       * @return
       *    The removed object reference, or null if the given key doesn't have a
       *    corresponding value.
       */
      function remove(key:Object):Object;
   }
}